package org.jeecg.modules.demo.xcx.training.registration.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

@Data
@TableName("XCX_TRAINING_REGISTRATION")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="registration对象", description="registration")
public class Registration implements Serializable {
    private static final long serialVersionUID = 1L;

    /**id*/
    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "ID")
    private String id;
    /**报名类型 1: 无人机   2:驾照*/
    @Excel(name = "报名类型", width = 15)
    @ApiModelProperty(value = "报名类型")
    @Dict(dicCode = "reg_regType")
    private Integer regType;
    /**姓名*/
    @Excel(name = "姓名", width = 15)
    @ApiModelProperty(value = "姓名")
    private String name;
    /**性别 1:男  2:女*/
    @Excel(name = "性别", width = 15)
    @ApiModelProperty(value = "性别")
    @Dict(dicCode = "sex")
    private Integer sex;
    /**学历*/
    @Excel(name = "学历", width = 15)
    @ApiModelProperty(value = "学历")
    private String bs;
    /**电话*/
    @Excel(name = "电话", width = 15)
    @ApiModelProperty(value = "电话")
    private String phone;
    /**单位及职务*/
    @Excel(name = "单位及职务", width = 15)
    @ApiModelProperty(value = "单位及职务")
    private String works;
    /**电子邮箱*/
    @Excel(name = "电子邮箱", width = 15)
    @ApiModelProperty(value = "电子邮箱")
    private String email;
    /**身份证号*/
    @Excel(name = "身份证号", width = 15)
    @ApiModelProperty(value = "身份证号")
    private String idNumber;
    /**执照种类 1:小型  2:中型*/
    @Excel(name = "执照种类", width = 15)
    @ApiModelProperty(value = "执照种类")
    @Dict(dicCode = "reg_license")
    private Integer license;
    /**超视距等级 1:视距内  2:超视距*/
    @Excel(name = "超视距等级", width = 15)
    @ApiModelProperty(value = "超视距等级")
    @Dict(dicCode = "reg_sdatia")
    private Integer sdatia;
    /**类别等级 1:旋翼机*/
    @Excel(name = "类别等级", width = 15)
    @ApiModelProperty(value = "类别等级")
    @Dict(dicCode = "reg_category")
    private Integer category;
    /**级别等级 1:多旋翼*/
    @Excel(name = "级别等级", width = 15)
    @ApiModelProperty(value = "级别等级")
    @Dict(dicCode = "reg_grade")
    private Integer grade;
    /**状态 1:报名未参训  2:训练中  3:已取证*/
    @Excel(name = "状态", width = 15)
    @ApiModelProperty(value = "状态")
    @Dict(dicCode = "reg_regState")
    private Integer regState;
    /**学员来源 1:内部企业  2:社会招生*/
    @Excel(name = "学员来源", width = 15)
    @ApiModelProperty(value = "学员来源")
    @Dict(dicCode = "reg_source")
    private Integer source;
    /**机构id*/
    @Excel(name = "机构id", width = 15)
    @ApiModelProperty(value = "机构id")
    private String orgId;
    /**机构编码*/
    @Excel(name = "机构编码", width = 15)
    @ApiModelProperty(value = "机构编码")
    private String orgCode;
    /**机构名称*/
    @Excel(name = "机构名称", width = 15)
    @ApiModelProperty(value = "机构名称")
    private String orgName;
    /**报名时间*/
    @Excel(name = "报名时间", width = 15)
    @ApiModelProperty(value = "报名时间")
    @JsonFormat(timezone ="GMT+8",pattern ="yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date regTime;
    /**计划培训形式 1:半脱产培训  2:脱产培训*/
    @Excel(name = "计划培训形式", width = 15)
    @ApiModelProperty(value = "计划培训形式")
    @Dict(dicCode = "reg_shape")
    private Integer shape;    /**计划培训时间*/
    @Excel(name = "计划培训时间", width = 15)
    @ApiModelProperty(value = "计划培训时间")
    @JsonFormat(timezone ="GMT+8",pattern ="yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date cultivateTime;
    /**发票 1:未开票  2:已开票*/
    @Excel(name = "发票", width = 15)
    @ApiModelProperty(value = "发票")
    @Dict(dicCode = "reg_invoice")
    private Integer invoice;
    /**学费 1:未缴纳  2:已缴纳*/
    @Excel(name = "学费", width = 15)
    @ApiModelProperty(value = "学费")
    @Dict(dicCode = "reg_tuition")
    private Integer tuition;
    /**附件*/
    @Excel(name = "附件", width = 15)
    @ApiModelProperty(value = "附件")
    private String fileaddress;
    /**备注*/
    @Excel(name = "备注", width = 15)
    @ApiModelProperty(value = "备注")
    private String remarks;


}
